//
// Description: 827. 双链表
// Created by Loading on 2021/12/12.
//

#include <bits/stdc++.h>

using namespace std;

constexpr int N = 100010;

// e[i] 表示节点 i 的值
// l[i] 表示节点 i 的 left 指针的值
// r[i] 表示节点 i 的 right 指针的值
// idx 表示当前已经插入的点下标
int e[N], l[N], r[N], idx;

// 初始化
void init() {
    // 0 表示左端点，1 表示右端点，下标从 2 开始
    l[1] = 0;
    r[0] = 1;
    idx = 2;
}

// 将 x 插入下标是 k 的点的后面
void add(int x, int k) {
    e[idx] = x;
    l[idx] = k;
    r[idx] = r[k];
    l[r[k]] = idx;
    r[k] = idx++;
}

// 将第 k 个点删除
void remove(int k) {
    r[l[k]] = r[k];
    l[r[k]] = l[k];
}

int main() {
    init();

    int m;
    cin >> m;
    while (m--) {
        string s;
        cin >> s;
        if (s == "R") {
            int x;
            cin >> x;
            add(x, l[1]);
        } else if (s == "L") {
            int x;
            cin >> x;
            add(x, 0);
        } else if (s == "D") {
            int k;
            cin >> k;
            remove(k + 1);
        } else if (s == "IL") {
            int k, x;
            cin >> k >> x;
            add(x, l[k + 1]);
        } else if (s == "IR") {
            int k, x;
            cin >> k >> x;
            add(x, k + 1);
        }
    }
    for (int i = r[0]; i != 1; i = r[i]) {
        cout << e[i] << ' ';
    }
    cout << endl;

    return 0;
}